package com.cimu.xinge.service;

import com.cimu.xinge.entity.User;
import com.cimu.xinge.enums.PushModelEnum;

import java.util.List;

/**
 * Title: XinGePushService
 * Copyright: Copyright (c) 2017
 * <p>
 * date 2018年12月18日 19:21
 */
public interface XinGePushService {
    /**
     * 单个设备推送
     *
     * @param user       用户信息
     * @param title      推送标题
     * @param content    推送内容
     * @param sendTime   发送时间 2013-12-20 18:31:00 空就立即发送
     * @param acceptTime 接收时间 格式为00:00-23:59 如果为空默认为9:00-20:00
     */
    void pushSingleDevice(User user, String title, String content,
                          String sendTime, String acceptTime);

    /**
     * 多个设备推送  调用顺序先createMultiDevicePush再pushMultiDevicePushMessage
     *
     * @param tokenPushList 推送列表 单次发送token不超过1000个
     * @param pushId        app下发的任务id createMultiDevicePush方法中返回
     */
    void pushMultiDevice(List<String> tokenPushList, Long pushId);

    /**
     * 创建多设备推送任务 调用顺序先createMultiDevicePush再pushMultiDevicePushMessage
     *
     * @param title     推送标题
     * @param content   推送内容
     * @param sendTime  发送时间 2013-12-20 18:31:00 如果空就立即发送
     * @param pushModel 推送机型:ios,android
     * @return Long app下发的任务id
     */
    Long createMultiDevicePush(String title, String content, String sendTime, PushModelEnum pushModel);


}
